\section{Learning Objects for Arrays}\label{s.arrays}

\textbf{Concept} An array is a sequence of elements of the same type;
the type of the elements can be a primitive types such as \texttt{int},
or a predefined or user-defined class type. To access an element of an array, an index is given; this may be any expression of type 
\texttt{int}, including an integer literal or a variable.

\begin{center}
\begin{tabular}{|c|l|l|c|}
\hline
LO & Topic  & Java Files (.java) & Prerequisites \\\hline
\ref{array.01} &  Array objects                       & Array01A, B &\\\hline
\ref{array.02} &  Array initializers                  & Array02  &  1\\\hline
\ref{array.03} &  Passing arrays as parameters        & Array03  &  2\\\hline 
\ref{array.04} &  Returning an array from a method    & Array04  &  2\\\hline
\ref{array.05} &  Array assignment can create garbage & Array05  &  4\\\hline
\ref{array.06} &  Two-dimensional arrays              & Array06  &  3\\\hline
\ref{array.07} &  Arrays of arrays                    & Array07  &  6\\\hline
\ref{array.08} &  Ragged arrays                       & Array08  &  6\\\hline
\ref{array.09} &  Arrays of objects                   & Array09  &  3\\\hline
\end{tabular}
\end{center}

The example used in LO~\ref{array.01} through LO~\ref{array.01} is to fill an array 
with a sequence of fibonacci numbers (0,1,1,2,3,5,8). The programs for 
LO~\ref{array.05} through LO~\ref{array.08} concern matrices. 
The program for LO~\ref{array.09} is explained there.

\input{array/LO01}
\input{array/LO02}
\input{array/LO03}
\input{array/LO04}
\input{array/LO05}
\input{array/LO06}
\input{array/LO07}
\input{array/LO08}
\input{array/LO09}
